using System;
using System.Collections.Generic;
using System.Text;

namespace Efficient.Domain
{
    [Serializable]
    public abstract class Entity<T, Id> : ValueType<T> where T : class
    {
        private Id id;

        public virtual Id ID
        {
            get { return id; }
            set { id = value; }
        }

        public override int GetHashCode()
        {
            return this.id.GetHashCode();
        }
    }
}
